Graphics devices are widely used to render 2-dimensional (2-D) and 3-dimensional (3-D) images for various applications, such as video games, graphics programs, computer-aided design (CAD) applications, simulation and visualization tools, imaging, and the like. A graphics device may perform various graphics operations to render an image. The graphics operations may include rasterization, stencil and depth tests, texture mapping, shading, and the like. A 3-D image may be modeled with surfaces, and each surface may be approximated with polygons, such as triangles. The number of triangles used to represent a 3-D image for rendering purposes is dependent on the complexity of the surfaces as well as the desired resolution of the image.
Each triangle may be defined by three vertices, and each vertex is associated with various attributes such as space coordinates, color values, and texture coordinates. When a graphics device uses a vertex processor during the rendering process, the vertex processor may process vertices of the various triangles. Each triangle is also composed of picture elements (pixels). When the graphics device also, or separately, uses a pixel processor during the rendering process, the pixel processor renders each triangle by determining the values of the components of each pixel within the triangle.
In many cases, a graphics device may utilize a shader processor to perform certain graphics operations such as shading. Shading is a highly complex graphics operation involving lighting and shadowing. The shader processor may need to execute a variety of different instructions when performing rendering, and typically includes one or more execution units to aid in the execution of these instructions. For example, the shader processor may include arithmetic logic units (ALU's) and/or an elementary functional unit (EFU) as execution units. Often, these execution units are capable of executing instructions using full data-precision circuitry. However, such circuitry can often require more power, and the execution units may take up more physical space within the shader processor integrated circuit used by the graphics device.